home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / neuron.zip / NEURON.DOC < prev    next >
Text File  |  1992-07-06  |  4KB  |  117 lines

  1. ******************************************************************
  2.                                NEURON.DOC
  3. ******************************************************************
  4. Version 2.5     E.FARHI         07/92         TC 2.0
  5.  
  6. This is a documentation for the file NEURON.C .
  7. You should find in it a short description of structures and procedures.
  8.  
  9. First of all, the library modules used are entirely portable.
  10.  
  11. *** Defines
  12.  
  13. NB_LAYERS_MAXI
  14.         Maximum number of different layers in the net.
  15. NB_LEVELS_MAXI
  16.         Idem with levels. A level is a logic layer. See NETWORK.DOC.
  17. NB_N_LAYER_MAXI
  18.         Maximum number of neuron in a layer.
  19. NB_BACKP_MAXI
  20.         Number of backpropagations before activating the shaker.
  21. LEARN_FAIL
  22.         Maximum number of learning turns.
  23. TEMPERING_OFF
  24.         Simulated tempering inactivated.
  25. TEMPERING_ON
  26.         Try to guess...
  27. MSG_???
  28.         Different global messages for communications between procedures.
  29.  
  30. *** Structures
  31.  
  32. FLAG_N
  33.         Neuron flag. Contains activity. Can be extended.
  34. FLAG_L
  35.         Layer flag.
  36. NEURONS
  37.         Neuron structure. Data and links inside the neuron layer.
  38. NETWORKS
  39.         Network structure. 'inter' is the link(weight) between two layers.
  40.         This is the big part of the file.
  41.  
  42. *** Procedures
  43.  
  44. *list_norm(size).
  45.         Creates a normal list: 1,2,..,size.
  46. *list_alea(size,nb_proto)
  47.         Creates a random list of prototypes.
  48. in_limits(value,high,low)
  49.         Tests if 'value' is between high and low.
  50.  
  51. weight_sum(net,neuron,level)
  52.         Computes the synaptic potential of a neuron in 'level'.
  53. level_state(net,level)
  54.         Computes the level state...
  55. level_tempering(net,level)
  56.         Simulated tempering for a level.
  57. network_state(net,input)
  58. neuron_state(net,synaptic_sum)
  59.  
  60. backpropagation(net,input,output)
  61.         Reakons one learning turn by gradient algorithm for the net.
  62. learn_prototype(net,list,proto_nb,inputs,outputs,nb_backp)
  63.         Learns 'nb_backp' times the prototypes 'proto_nb' in the list
  64.         of inputs-outputs.
  65. learn_list(net,list,size,inputs,outputs)
  66.         Learns a list once.
  67. learn_opt(net,list,size,inputs,ouputs)
  68.         Optimized learning of a list. The best...
  69. learn_norm(..)
  70.         learns a list entirely.
  71. learn_test((..)
  72.         test if prototypes can be learnt.
  73. init_alea_network(net)
  74.         Initialize a random net.
  75. init_0_network(net)
  76.         0 net.
  77. init_flag_network(..)
  78.         Global init of net flags.
  79. init_var_network(..)
  80.         Init of main net vars.
  81. compare_output(..)
  82. learn_verify(..)
  83.         verifies if a list is well known.
  84. sqr_sum(net)
  85.         Square sum of links(weights).
  86. print_network(net)
  87.         Prints the net.
  88. info_struct_network(net)
  89.         Prints some general structure info.
  90. info_vars_network(net)
  91.         prints main vars of the net.
  92.  
  93. *** The network models.
  94.  
  95.         With the data structure used, it is possible to create a network 
  96. containing some physical and logical layers, Hopfield or Precepton.
  97.         A LOGICAL layer ('level') is a physical layer placed at a certain level 
  98. of the network. So usually, we define some PHYSICAL layers ('layers'), three 
  99. are enough for many applications, and we give an order to create the logical 
  100. levels.
  101.         The first level is the input, and the last, the output.
  102.         Here are some order exemples:
  103.                 {0}     One layer, one level. To use it, you need to activate 
  104.                         interconnection=1 for a Hopfield network.
  105.                 {0,1}   Preceptron network. No hidden layers.
  106.                 {0,1,2} 3 layer multi-preceptron network. Simple and efficient.
  107.                 {0,1,0} 3 levels, 2 layers. There is a partial feedback.
  108.                 {0,1,2,1,0}, {0,1,2,0}, ...
  109.         The partial feedback (input layer=output layer) enables a sequence 
  110. recognition.
  111.         For each level, you can choose to use a Preceptron (interconnection=0) 
  112. or a Hopfield (interconnection=1) layer.
  113.  
  114.  
  115.  
  116. (next to read: NETWORK.DOC)
  117.